<template>
<!--  <Spin :spinning="loading" tip="Loading...">-->
  <div>
    <!-- table -->

    <div style="margin-bottom: 1rem"></div>
    <BreakSpace label="归档信息" :containerStyle="{ marginBottom: '10px' }" />
    <FormPanel ref="formPanel3" :list="formList2" :cols="3" :formType="'add'" labelWidth="110" :isSubmitBtn="false" @formChange="formBackChangeHandle" />

    <BreakSpace label="故障码列表" :containerStyle="{ marginBottom: '10px' }" />
    <FilterTable
      ref="table3"
      :columns="columns3"
      :params="fetchParams"
      :datakey="'items'"
      :onColumnsChange="(columns3) => (this.columns3 = columns3)"
      :onRowSelectChange="selectChange"
      selectionType="single"
      height="auto"
      :isPagination="false"
      :isSelectColumn="false"
    >
    </FilterTable>
    <div style="margin-bottom: 1rem"></div>
    <BreakSpace label="主损配件列表" :containerStyle="{ marginBottom: '10px' }" />
    <FilterTable
      ref="table4"
      :columns="columns4"
      :params="fetchParams"
      :datakey="'items'"
      :onColumnsChange="(columns4) => (this.columns4 = columns4)"
      :onRowSelectChange="selectChange"
      selectionType="single"
      height="auto"
      :isPagination="false"
      :isSelectColumn="false"
    >
    </FilterTable>
    <!-- 质量报告查询 - 明细 -->
    <BreakSpace label="质量信息" :containerStyle="{ marginBottom: '10px' }" />
    <FormPanel ref="formPanel1" :list="formList" :cols="3" :formType="'add'" labelWidth="120" :isSubmitBtn="false" @formChange="formChangeHandle" />

    <div style="margin-bottom: 1rem"></div>
    <BreakSpace label="故障码列表" :containerStyle="{ marginBottom: '10px' }" />
    <FilterTable
      ref="table1"
      :columns="columns"
      :params="fetchParams"
      :datakey="'records'"
      :onColumnsChange="(columns) => (this.columns = columns)"
      :onRowSelectChange="selectChange"
      selectionType="single"
      height="auto"
      :isSelectColumn="false"
      :isPagination="false"
    ><template slot="controls" slot-scope="props">
      <!--      <multiuse-button size="small" type="primary" icon="el-icon-plus" @click="faultAdd()">添加</multiuse-button>-->
    </template></FilterTable
    >
    <div style="margin-bottom: 1rem"></div>
    <BreakSpace label="换下件配件列表" :containerStyle="{ marginBottom: '10px' }" />
    <FilterTable
      ref="table2"
      :columns="columns2"
      :params="fetchParams"
      :datakey="'records'"
      :onColumnsChange="(columns2) => (this.columns2 = columns2)"
      :onRowSelectChange="selectChange"
      selectionType="single"
      height="auto"
      :isSelectColumn="false"
      :isPagination="false"
    >
      <template slot="controls" slot-scope="props">
        <!--      <multiuse-button size="small" type="primary" icon="el-icon-plus" @click="peijianhuanxiajianadd()">添加</multiuse-button>-->
      </template></FilterTable
    >
    <BreakSpace label="质量部回复信息" :containerStyle="{ marginBottom: '10px' }" />
    <FormPanel ref="formPanel4" :list="formList3" :cols="3" :formType="'add'" labelWidth="110" :isSubmitBtn="false" @formChange="formAuditChangeHandle" />

    <BreakSpace label="质量报告列表" :containerStyle="{ marginBottom: '10px' }"/>
    <FilterTable
      ref="table5"
      :columns="columns5"
      :params="fetchParams"
      :datakey="'records'"
      :onColumnsChange="columns5 => (this.columns5 = columns5)"
      :onRowSelectChange="selectChange"
      selectionType="single"
      :is-select-column="false"
      :isPagination = false
      height="auto"
    ></FilterTable>
    <BaseDialog :visible.sync="visibleEdit" :title="'质量改善跟踪编辑'" destroyOnClose width="850px" :containerStyle="{height: 'calc(100% - 60px)', overflow: 'auto', paddingBottom: '60px'}">
      <editDetail @close="editclose" @save="editsave" :rowData="rowDataSon"></editDetail>
    </BaseDialog>
    <div style="margin-bottom: 1rem"></div>
    <div
      :style="{
        position: 'absolute',
        left: 0,
        bottom: 0,
        right: 0,
        zIndex: 9,
        borderTop: '1px solid #e9e9e9',
        padding: '10px 20px',
        background: '#fff',
        textAlign: 'right',
      }"
    >
      <multiuse-button type="primary" @click="save" :disabled="this.sortStatus">保 存</multiuse-button>
      <multiuse-button type="primary" @click="closeDialog">关 闭</multiuse-button>
    </div>
    <div style="margin-bottom: 4rem"></div>
  </div>
<!--  </Spin>-->
</template>
<script>
  import { getPartType } from '@/api/dictionary/index';
  import { quySP } from '@/api/claim/dealer/ClaimApplication/index';
  import { isFormEmpty } from '@/utils/index';
  import { quyRpQaReport, getCaseId, approveByPtId } from '@/api/claim/factory/QualityInformationManagement_OEM/QualityInformationExamine/index';
  import { copyUpdateData } from '@/utils/index';
  import {getListByPage,callBackByPtId} from '@/api/claim/factory/QualityInformationManagement_OEM/QualityInformationExamine';
  import editDetail from './editDetail.vue';
  import { getAppId } from '@/assets/js/auth';
  import { queryModelDetail}  from '@/api/claim/dealer/ClaimApplication/index';
  import { dictionary } from '@/utils/dictMixin';
  export default {
    props: ['type', 'rowData'],
    mixins: [dictionary],
    components: {
      editDetail
    },
    data() {
      return {
        collapse: false,
        infoId: null,
        columns: this.creatHeader(),
        columns2: this.creatHeader2(),
        columns3: this.creatHeader3(),
        columns4: this.creatHeader4(),
        columns5:this.creatHeader5(),
        // columns3: this.creatHeader3(),
        // topFilterInit: this.topFilterInitFun(),
        // fetchApi: getUser,
        fetchParams: {}, //ipa 接口
        selectedRows: [], //选中经销商
        formList: this.createFormList(),
        formList2: this.backFormList(),
        formList3: this.aduitFormList(),
        saveData: null,
        saveData1: null,
        saveData2: null,
        saveData3: null,
        weixiugongdan: false,
        zhusunjian: false,
        guzhangxianxiangdaima: false,
        application: false,
        peijianhuanxiajianlistaddflag: false,
        fault: false,
        caseNoFlag: false,
        rowDataSon:{},
        visibleEdit:false,
        sortStatus:true,
      };
    },
    async created() {
      this.loading = true;
      // await this.chuqi();
      await this.getList(this.rowData.reportId);
      await this.sort();
      this.loading = false;
    },
    methods: {
      async chuqi() {
        console.log('进来了');
        // const res1 = await getPartType({ type: 5561 });
        // if (res1.resultCode == 200) {
        //   this.formList.find((x) => x.fieldName == 'reportStatus').itemList = res1.data.map((y) => ({
        //     text: y.codeCnDesc,
        //     value: y.codeId,
        //   }));
        // }
        // let arr= [];
        // arr.push(res1.data[6]);
        // arr.push(res1.data[7])
        // console.log("#@!#!@#@!",arr)
        // if (res1.resultCode == 200) {
        //   this.formList3.find((x) => x.fieldName == 'inConclusion').itemList = arr.map((y) => ({
        //     text: y.codeCnDesc,
        //     value: y.codeCnDesc,
        //   }));
        // }
        // const res3 = await getPartType({ type: 5563 });
        // if (res3.resultCode == 200) {
        //   this.formList2.find((x) => x.fieldName == 'caseLevel').itemList = res3.data.map((y) => ({
        //     text: y.codeCnDesc,
        //     value: y.codeId,
        //   }));
        //   this.formList3.find((x) => x.fieldName == 'resultLevel').itemList = res3.data.map((y) => ({
        //     text: y.codeCnDesc,
        //     value: y.codeId,
        //   }));
        // }
        // const res5 = await getPartType({ type: 5500 });
        // if (res5.resultCode == 200) {
        //   this.formList.find((x) => x.fieldName == 'isKeep').itemList = res5.data.map((y) => ({ text: y.codeCnDesc, value: y.codeId }));
        // }
      },
      async sort(){
        if(getAppId()=='beijing'){
          let res = await queryModelDetail({modelCode:this.modelCode==null?this.caseModelCode:this.modelCode});
          if(res.data.powerType == '60081002'){
            this.sortStatus = false;
          }else if(res.data.powerType == '60081001'){
            this.sortStatus = true;
          }
        }else if(getAppId()=='arcfox'){
          this.sortStatus = false;
        }
        if(this.reportStatus == 55611007){
          this.sortStatus = true;
        }
      },
      async getList(id) {
        let res = await quyRpQaReport({ id: id });
        let data = res.data;
        //临时属性
        this.partId = data.partId; //主损件id
        this.supCode = data.supCode; //供应商Code
        this.modelId = data.modelId; //车型id
        this.modelCode = data.modelCode; //车型Code
        this.faultId = data.faultId; //故障现象主键
        this.isDeleted = data.isDeleted;
        this.applyAt = data.applyAt;
        this.cmsClaimId = data.cmsClaimId;
        this.claimStatus = data.claimStatus;
        this.reportStatus = data.reportStatus;
        this.caseModelCode = data.caseDTO.modelName;
        // this.prodDate = data.prodDate;
        //为2个form赋值

        for (let i in data) {
          // console.log(data.fileList);
          this.formList.map((y) => {
            if (y.fieldName == 'fileList') {
              y.initialValue = data.fileList.map((f) => ({ name: f.title, url: f.fileUrl }));
            }
            if (i == y.fieldName) {
              y.initialValue = data[i];
            }
          });
        }
        for (let i in data.caseDTO) {
          if (data.caseDTO) {
            this.formList2.map((y) => {
              if (i == y.fieldName) {
                y.initialValue = data.caseDTO[i];
                y.disabled = true;
              }
              if (y.fieldName == 'file1List') {
                if (data.caseDTO.file1List) {
                  y.initialValue = data.caseDTO.file1List.map((f) => ({ name: f.title, url: f.fileUrl }));
                }
              }
            });
          }
        }

        for (let i in data) {
          this.formList3.map((y) => {
            if (i == y.fieldName) {
              y.initialValue = data[i];
            }
          });
        }
        if (data.caseDTO) {
          let fileIds = [];
          data.caseDTO.file1List.map((x) => {
            fileIds.push(x.fileId);
          });
          let idsss = '';
          fileIds.map((x) => {
            idsss += x + ',';
          });
          this.fileIds = idsss;
        }

        //为table赋值

        if (200 == res.resultCode) {
          let data = res.data;
          if (isFormEmpty(data)) {
            data = {};
          }
          // let records1 = data.logList;
          // if (isFormEmpty(records1)) {
          //   records1 = [];
          // }
          // this.$refs.table3.$refs.pageTable.EXECUTE_INSERT(records1);
        }
        let records2 = data.partList;
        if (isFormEmpty(records2)) {
          records2 = [];
        }
        let partIds = [];
        this.$refs.table2.$refs.pageTable.EXECUTE_INSERT(records2);
        this.$refs.table2.$refs.pageTable.list.map((x) => {
          partIds.push(x.partId);
        });
        let ids = '';
        partIds.map((x) => {
          ids += x + ',';
        });
        this.partIds = ids;
        let records3 = data.faultList;
        if (isFormEmpty(records3)) {
          records3 = [];
        }
        let faultIds = [];
        this.$refs.table1.$refs.pageTable.EXECUTE_INSERT(records3);
        this.$refs.table1.$refs.pageTable.list.map((x) => {
          faultIds.push(x.faultId);
          this.faultIds = faultIds;
        });
        let idss = '';
        faultIds.map((x) => {
          idss += x + ',';
        });
        this.faultIds = idss;

        let records4 = data.caseDTO ? data.caseDTO.faultList : [];
        // if (isFormEmpty(records4)) {
        //   records4 = [];
        // }
        this.$refs.table3.$refs.pageTable.EXECUTE_INSERT(records4);

        let records5 = data.caseDTO ? data.caseDTO.partList : [];
        // let records5 = data.caseDTO.partList;
        // if (isFormEmpty(records5)) {
        //   records5 = [];
        // }
        this.$refs.table4.$refs.pageTable.EXECUTE_INSERT(records5);
        console.info(res);
        const res2 = await getListByPage({caseNo: data.caseNo,current: 1,
          currentPage: 1,
          limit: 100,
          pageNum: 1,
          pageSize: 100,
          size: 100});

        this.$refs.table5.$refs.pageTable.EXECUTE_INSERT(res2.data.records);
        this.newVar = data;
      },
      faultAdd() {
        this.fault = true;
      },
      faultSave(val) {
        this.$refs.table1.$refs.pageTable.EXECUTE_INSERT(val);
        this.fault = false;
      },
      faultClose() {
        this.fault = false;
      },

      //配件换下件列表
      peijianhuanxiajianadd() {
        this.peijianhuanxiajianlistaddflag = true;
      },
      //配件换下件
      peijianhuanxiajianClose() {
        this.peijianhuanxiajianlistaddflag = false;
      },
      peijianhuanxiajianSave(val) {
        this.$refs.table2.$refs.pageTable.EXECUTE_DELETE(this.$refs.table2.$refs.pageTable.list);
        this.$refs.table2.$refs.pageTable.EXECUTE_INSERT(val);
        this.peijianhuanxiajianlistaddflag = false;
      },
      async getAuthListByauthNo(id) {
        let res = await quySP({ id: id });
        let data = res.data;
        let records2 = data.partList;
        if (isFormEmpty(records2)) {
          records2 = [];
        }
        this.$refs.table2.$refs.pageTable.EXECUTE_DELETE(this.$refs.table2.$refs.pageTable.list);
        this.$refs.table2.$refs.pageTable.EXECUTE_INSERT(records2);
      },
      delsFunXj(data) {
        this.$refs.table1.$refs.pageTable.EXECUTE_DELETE([data]);
      },
      selectApplicationCode() {
        this.application = true;
      },
      selectpartCode() {
        this.zhusunjian = true;
      },
      selectRono() {
        this.weixiugongdan = true;
      },
      formChangeHandle(val) {
        console.log(val);
        this.saveData = val;
      },
      formQuaChangeHandle(val) {
        console.log(val);
        this.saveData1 = val;
      },
      formBackChangeHandle(val) {
        this.saveData2 = val;
      },
      formAuditChangeHandle(val) {
        console.log(val);
        this.saveData3 = val;
      },
      //搜索获取数据
      changeHandle(val) {
        this.fetchParams = val;
        console.log(val);
      },
      //选中
      selectChange(rows) {
        this.selectedRows = rows;
        console.log(this.selectedRows);
      },
      detail(val) {
        this.rowDataSon = val;
        this.visibleEdit = true;
      },
      editclose() {
        this.visibleEdit = false;
      },editsave() {
        this.visibleEdit = false;
      },
      //取消操作
      closeDialog() {
        this.$emit('close', { visible: false, data: this.selectedRows, type: 'close' });
      },
      async save(){
        this.loading =true;
        this.$refs.formPanel4.SUBMIT_FORM()
        this.saveData3.reportId = this.rowData.reportId;
        if(this.saveData3.inConclusion && this.saveData3.resultLevel){
          let res = await callBackByPtId(this.saveData3);
          if (res.resultCode === 200) {
            this.loading =false;
            this.$emit('save');
            return this.$notify.success({ title: '提示信息', message: '保存成功' });
          } else {
            this.loading = false;
          }
        }else{
          return this.$notify.warning({ title: '提示信息', message: '请先维护质量部回复信息' });
        }
      },
      //质量信息
      createFormList() {
        return [
          {
            type: 'INPUT',
            label: '经销商代码',
            fieldName: 'ownerCode',
            readonly: true, // 只读
            disabled: true, // 置会
          },
          {
            type: 'INPUT',
            label: '经销商名称',
            fieldName: 'dealerName',
            readonly: true, // 只读
            disabled: true, // 置会
          },
          {
            type: 'INPUT',
            label: '质量报告单号',
            fieldName: 'reportNo',
            readonly: true, // 只读
            disabled: true, // 置会
          },
          {
            type: 'INPUT',
            label: '案例主题',
            fieldName: 'caseMain',
            placeholder: '请输入...',
            readonly: true, // 只读
            disabled: true, // 置会
          },
          {
            type: 'INPUT',
            label: '维修工单号',
            fieldName: 'roNo',
            placeholder: '请输入标题名称...',
            disabled: true, // 置会
          },
          {
            type: 'SELECT',
            label: '质量报告状态',
            fieldName: 'reportStatus',
            placeholder: '请输入标题名称...',
            disabled: true, // 只读
            itemList: this.createDictList('5561'),
          },
          {
            type: 'INPUT',
            label: 'VIN',
            fieldName: 'vin',
            readonly: true, // 只读
            disabled: true, // 置会
          },
          {
            type: 'DATE',
            label: '生产日期',
            fieldName: 'prodDate',
            valueFormat: 'yyyy-MM-dd',
            readonly: true, // 只读
            disabled: true, // 置会
          },
          {
            type: 'DATE',
            label: '销售日期',
            fieldName: 'saleDate',
            valueFormat: 'yyyy-MM-dd',
            readonly: true, // 只读
            disabled: true, // 置会
          },
          {
            type: 'INPUT',
            label: '行驶里程',
            fieldName: 'driveMile',
            readonly: true, // 只读
            disabled: true, // 置会
          },
          {
            type: 'INPUT',
            label: '车型名称',
            fieldName: 'modelName',
            readonly: true, // 只读
            disabled: true, // 置会
          },
          {
            type: 'INPUT',
            label: '制单人',
            fieldName: 'reporterStr',
            readonly: true, // 只读
            disabled: true, // 置会
          },
          {
            type: 'INPUT',
            label: '联系方式',
            fieldName: 'phone',
            readonly: true, // 只读
            disabled: true, // 置会
          },
          {
            type: 'INPUT',
            label: '主损件',
            fieldName: 'partCode',
            placeholder: '请输入数量...',
            disabled: true, // 置会
          },
          {
            type: 'INPUT',
            label: '主损件名称',
            fieldName: 'partName',
            readonly: true, // 只读
            disabled: true, // 置会
          },
          {
            type: 'INPUT',
            label: '索赔单号',
            fieldName: 'cmsClaimNo',
            readonly: true, // 只读
            disabled: true, // 置会
          },
          {
            type: 'INPUT',
            label: '故障现象代码',
            fieldName: 'faultCode',
            placeholder: '请输入数量...',
            readonly: true, // 只读
            disabled: true, // 置会
          },
          {
            type: 'INPUT',
            label: '故障现象描述',
            fieldName: 'faultName',
            readonly: true, // 只读
            disabled: true, // 置会
          },
          {
            type: 'INPUT',
            label: '一级代码',
            fieldName: 'sysCode1',
            placeholder: '请输入数量...',
            readonly: true, // 只读
            disabled: true, // 置会
          },
          {
            type: 'INPUT',
            label: '一级名称',
            fieldName: 'sysName1',
            placeholder: '请输入数量...',
            readonly: true, // 只读
            disabled: true, // 置会
          },
          {
            type: 'INPUT',
            label: '二级代码',
            fieldName: 'sysCode2',
            placeholder: '请输入数量...',
            readonly: true, // 只读
            disabled: true, // 置会
          },
          {
            type: 'INPUT',
            label: '二级名称',
            fieldName: 'sysName2',
            placeholder: '请输入数量...',
            readonly: true, // 只读
            disabled: true, // 置会
          },
          {
            type: 'INPUT',
            label: '三级代码',
            fieldName: 'sysCode3',
            placeholder: '请输入数量...',
            readonly: true, // 只读
            disabled: true, // 置会
          },
          {
            type: 'INPUT',
            label: '三级名称',
            fieldName: 'sysName3',
            placeholder: '请输入数量...',
            readonly: true, // 只读
            disabled: true, // 置会
          },
          {
            type: 'INPUT',
            label: '故障代码',
            fieldName: 'sysCode4',
            placeholder: '请输入数量...',
            readonly: true, // 只读
            disabled: true, // 置会
          },
          {
            type: 'INPUT',
            label: '故障名称',
            fieldName: 'sysName4',
            placeholder: '请输入数量...',
            readonly: true, // 只读
            disabled: true, // 置会
          },
          {
            type: 'SELECT',
            label: '是否留车',
            fieldName: 'isKeep',
            placeholder: '请输入...',
            disabled: true,
            itemList: this.createDictList('5500'),
          },
          {
            type: 'INPUT',
            label: '留车单号',
            fieldName: 'keepCar',
            placeholder: '请输入数量...',
            disabled: true, // 置会
          },
          {
            type: 'TEXT_AREA',
            label: '故障描述',
            fieldName: 'cmsClaimInfo',
            selfCols: 3, // 元素占据几行
            rows: 3,
            disabled: true, // 置会
          },
          {
            type: 'TEXT_AREA',
            label: '维修经过',
            fieldName: 'cmsClaimProcess',
            selfCols: 3, // 元素占据几行
            rows: 3,
            disabled: true, // 置会
          },
          {
            type: 'TEXT_AREA',
            label: '维修结果',
            fieldName: 'cmsClaimResult',
            selfCols: 3, // 元素占据几行
            rows: 3,
            disabled: true, // 置会
          },
          {
            type: 'TEXT_AREA',
            label: '建议意见',
            fieldName: 'suggestion',
            selfCols: 3, // 元素占据几行
            rows: 3,
            disabled: true, // 置会
          },
          {
            type: 'TEXT_AREA',
            label: '使用环境',
            fieldName: 'useEvn',
            selfCols: 3, // 元素占据几行
            rows: 3,
            disabled: true, // 置会
          },
          {
            type: 'UPLOAD_FILE',
            label: '上传文件',
            fieldName: 'fileList',
            placeholder: '上传文件...',
            initialValue: [],
            disabled: true, // 置会
            upload: {
              actionUrl: '/api/file/oss/upload',
              limit: 3,
              // tipText: '只能上传pdf格式'
            },
          },
        ];
      },
      //故障码列表
      creatHeader() {
        return [
          {
            title: '序号',
            dataIndex: 'index',
            width: 80,
            sorter: true,
            render: (props) => {
              return <span>{props.row.index + 1}</span>;
            },
          },
          // {
          //   title: '操作',
          //   dataIndex: 'column-action',
          //   width: 100,
          //   fixed: 'left',
          //   render: props => {
          //     return (
          //       <div style="text-align:center">
          //       <multiuse-button type="primary" icon="el-icon-delete" onClick={() => this.delsFunXj(props.row)} circle />
          //     </div>
          //   );
          //   }
          // },
          { title: '故障码', dataIndex: 'faultCode', sorter: true },
          { title: '故障码描述', dataIndex: 'faultName', sorter: true },
        ];
      },
      //配件列表
      creatHeader2() {
        return [
          {
            title: '序号',
            dataIndex: 'index',
            width: 80,
            sorter: true,
            render: (props) => {
              return <span>{props.row.index + 1}</span>;
            },
          },
          { title: '配件代码', dataIndex: 'partCode', sorter: true },
          { title: '配件名称', dataIndex: 'partName', sorter: true },
          { title: '单位', dataIndex: 'partUnit', sorter: true },
          { title: '数量', dataIndex: 'partCount', sorter: true },
        ];
      },

      backFormList() {
        return [
          {
            type: 'INPUT',
            label: '案例编号',
            fieldName: 'caseNo',
            placeholder: '请输入数量...',
            // readonly: true,// 只读
          },
          {
            type: 'INPUT',
            label: '案例主题',
            fieldName: 'caseTitle',
            selfCols: 2, // 元素占据几行
          },
          {
            type: 'INPUT',
            label: '车型名称',
            fieldName: 'modelName',
            placeholder: '请输入数量...',
          },
          {
            type: 'SELECT',
            label: '故障等级',
            fieldName: 'caseLevel',
            placeholder: '请选择...',
            itemList: this.createDictList('5563'),
          },
          {
            type: 'DATE',
            label: '案例创建日期',
            fieldName: 'createdAt',
            placeholder: '请输入数量...',
            valueFormat: 'yyyy-MM-dd',
            readonly: true, // 只读
            disabled: true, // 置会
          },
          {
            type: 'INPUT',
            label: '故障现象代码',
            fieldName: 'faultCode',
            placeholder: '请输入数量...',
            readonly: true, // 只读
          },
          {
            type: 'INPUT',
            label: '故障现象描述',
            fieldName: 'faultName',
            readonly: true, // 只读
            disabled: true, // 置会
          },
          {
            type: 'INPUT',
            label: '故障次数',
            fieldName: 'faultTimes',
            readonly: true, // 只读
            disabled: true, // 置会
            initialValue: 0,
          },
          {
            type: 'INPUT',
            label: '一级代码',
            fieldName: 'sysCode1',
            placeholder: '请输入数量...',
            readonly: true, // 只读
            disabled: true, // 置会
          },
          {
            type: 'INPUT',
            label: '一级名称',
            fieldName: 'sysName1',
            placeholder: '请输入数量...',
            readonly: true, // 只读
            disabled: true, // 置会
          },
          {
            type: 'INPUT',
            label: '二级代码',
            fieldName: 'sysCode2',
            placeholder: '请输入数量...',
            readonly: true, // 只读
            disabled: true, // 置会
          },
          {
            type: 'INPUT',
            label: '二级名称',
            fieldName: 'sysName2',
            placeholder: '请输入数量...',
            readonly: true, // 只读
            disabled: true, // 置会
          },
          {
            type: 'INPUT',
            label: '三级代码',
            fieldName: 'sysCode3',
            placeholder: '请输入数量...',
            readonly: true, // 只读
            disabled: true, // 置会
          },
          {
            type: 'INPUT',
            label: '三级名称',
            fieldName: 'sysName3',
            placeholder: '请输入数量...',
            readonly: true, // 只读
            disabled: true, // 置会
          },
          {
            type: 'INPUT',
            label: '故障代码',
            fieldName: 'sysCode4',
            placeholder: '请输入数量...',
            readonly: true, // 只读
            disabled: true, // 置会
          },
          {
            type: 'INPUT',
            label: '故障名称',
            fieldName: 'sysName4',
            placeholder: '请输入数量...',
            readonly: true, // 只读
            disabled: true, // 置会
          },
          {
            type: 'TEXT_AREA',
            label: '案例描述',
            fieldName: 'caseInfo',
            selfCols: 3, // 元素占据几行
            rows: 2,
          },
          {
            type: 'TEXT_AREA',
            label: '建议',
            fieldName: 'addviseInfo',
            selfCols: 3, // 元素占据几行
            rows: 3,
          },
          {
            type: 'UPLOAD_FILE',
            label: '上传文件',
            fieldName: 'file1List',
            placeholder: '上传文件...',
            initialValue: [],
            upload: {
              actionUrl: '/api/file/oss/upload',
              limit: 2,
              // tipText: '只能上传pdf格式'
            },
          },
        ];
      },
      // //历史审核记录
      // creatHeader3() {
      //   return [
      //     {
      //       title: '序号',
      //       dataIndex: 'index',
      //       width: 80,
      //       sorter: true,
      //       render: props => {
      //         return <span>{props.row.index + 1}</span>;
      //       }
      //     },
      //     {title: '操作人', dataIndex: 'checkBy', sorter: true},
      //     {title: '操作时间', dataIndex: 'checkAt', sorter: true},
      //     {title: '操作类型', dataIndex: 'checkStatus', sorter: true},
      //     {title: '操作备注', dataIndex: 'checkRemarks', sorter: true}
      //   ];
      // },
      //故障码列表
      creatHeader3() {
        return [
          {
            title: '序号',
            dataIndex: 'index',
            width: 80,
            sorter: true,
            render: (props) => {
              return <span>{props.row.index + 1}</span>;
            },
          },
          { title: '故障码', dataIndex: 'faultCode', sorter: true },
          { title: '故障码描述', dataIndex: 'faultName', sorter: true },
          { title: '出现次数', dataIndex: 'num', sorter: true },
        ];
      },
      //配件列表
      creatHeader4() {
        return [
          {
            title: '序号',
            dataIndex: 'index',
            width: 80,
            sorter: true,
            render: (props) => {
              return <span>{props.row.index + 1}</span>;
            },
          },
          { title: '配件代码', dataIndex: 'partCode', sorter: true },
          { title: '配件名称', dataIndex: 'partName', sorter: true },
        ];
      },
      aduitFormList(){
        return [
          {
            type: 'SELECT',
            label: '调查结论',
            fieldName: 'inConclusion',
            itemList:this.createDictList('5561',[55611001,55611002,55611003,55611004,55611005,55611006]),
          },
          {
            type: 'INPUT',
            label: '立项时间',
            fieldName: 'projectDate',
            readonly:true
          },
          {
            type: 'SELECT',
            label: '故障等级',
            fieldName: 'resultLevel',
            itemList: this.createDictList('5563'),
          },
        ]
      },
      creatHeader5() {
        return [
          {
            title: '序号',
            dataIndex: 'index',
            width: 80,
            sorter: true,
            render: props => {
              return <span>{props.row.index + 1}</span>;
            }
          },
          {
            title: '操作',
            dataIndex: 'column-action',
            width: 100,
            fixed: 'left',
            render: props => {
              return (
                <div style="text-align:center">
                <multiuse-button size="mini" type="text" onClick={() => this.detail(props.row)}>
              明细
              </multiuse-button>
              </div>
            );
            }
          },
          { title: '质量报告状态', dataIndex: 'statusStr', sorter: true },
          { title: '质量报告单号', dataIndex: 'reportNo', sorter: true },
          { title: '索赔单号', dataIndex: 'cmsClaimNo', sorter: true },
          { title: '维修工单号', dataIndex: 'roNo', sorter: true },
          { title: 'VIN', dataIndex: 'vin', sorter: true },
          { title: '生产日期', dataIndex: 'prodDate', sorter: true,dateFormat: 'yyyy-MM-dd'},
          { title: '销售日期', dataIndex: 'saleDate', sorter: true,dateFormat: 'yyyy-MM-dd' },
          { title: '车型名称', dataIndex: 'modelName', sorter: true },
          { title: '主损件代码', dataIndex: 'partCode', sorter: true },
          { title: '主损件名称', dataIndex: 'partName', sorter: true },
          { title: '行驶里程', dataIndex: 'driveMile', sorter: true },
          { title: '故障现象代码', dataIndex: 'faultCode', sorter: true },
          { title: '故障现象名称', dataIndex: 'faultName', sorter: true },
          { title: '故障原因代码', dataIndex: 'sysCode4', sorter: true },
          { title: '故障原因名称', dataIndex: 'sysName4', sorter: true },
          { title: '维修开始时间', dataIndex: 'serviceBeginDate', sorter: true },
          { title: '维修结束时间', dataIndex: 'serviceEndDate', sorter: true },
          { title: '案例主题', dataIndex: 'caseTitle', sorter: true },
          { title: '申请时间', dataIndex: 'applyAt', sorter: true },
          { title: '申请人', dataIndex: 'applyBy', sorter: true },
          { title: '审核时间', dataIndex: 'checkAt', sorter: true },
          { title: '审核人', dataIndex: 'checkBy', sorter: true }
        ];
      },
    },
  };
</script>

<style lang="less" scoped></style>
